<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 vector-feature-night-mode-enabled skin-theme-clientpref-os vector-sticky-header-enabled" lang="fr" dir="ltr"><head>
<meta charset="UTF-8">
<title>Pluggable Authentication Modules</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://fr.wikipedia.org/wiki/Pluggable_Authentication_Modules"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Pluggable_Authentication_Modules rootpage-Pluggable_Authentication_Modules skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span lang="en">Pluggable Authentication Modules</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="fr" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="fr" dir="ltr"><p>
En <a href="Informatique" title="Informatique">informatique</a>, <b><span class="lang-en" lang="en">Pluggable Authentication Modules</span></b> (<b>modules d'authentification enfichables</b>, en abrégé <b>PAM</b>) est une <a href="Interface_de_programmation" title="Interface de programmation">API</a> permettant d'offrir aux programmes des services d'authentification, d'autorisation et de contrôle d'ouverture de sessions.
</p><p>PAM opère une séparation entre les <a href="Logiciel" title="Logiciel">logiciels</a> réclamant une <a href="Authentification" title="Authentification">authentification</a> d'une part, et de l'autre les standards et bonnes pratiques liés au contrôle d'identité.
</p><p><i>Déployer des politiques de sécurité</i> est une recommandation de l'<a href="ANSSI" class="mw-redirect" title="ANSSI">ANSSI</a> relative à l'administration sécurisée d'un <a href="Syst%C3%A8me_d'information" title="Système d'information">SI</a><sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>. PAM facilite le <a href="Durcissement_(informatique)" title="Durcissement (informatique)">durcissement</a> d'un SI en permettant de définir des stratégies sur mesure en sélectionnant et en configurant les modules de PAM nécessaires. Si aucun module ne convient, PAM spécifie comment réaliser son module.
</p>
<div class="mw-heading mw-heading2"><h2 id="Origines">Origines</h2></div>
<p>PAM est la solution proposée<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> par <a href="Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a> pour traiter la problématique de l'<a href="Authentification" title="Authentification">authentification</a>, formulée en 1995 au sein du groupe de travail <i>security group</i> participant au développement de l'<a href="Environnement_de_bureau" title="Environnement de bureau">environnement de bureau</a> <a href="Common_Desktop_Environment" title="Common Desktop Environment">Common Desktop Environment</a> de l'<a href="Open_Software_Foundation" title="Open Software Foundation">Open Software Foundation</a>. PAM a été choisie en juin puis décrite en octobre 1995 dans un <a href="Request_for_comments" title="Request for comments">RFC</a> de l'<a href="Open_Software_Foundation" title="Open Software Foundation">OSF</a><sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> puis présenté à l'<a href="ACM" class="mw-disambig" title="ACM">ACM</a> en 1996<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>.
</p><p>Bien que l'idée fut proposée par des ingénieurs de <a href="Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a>, la première implémentation réalisée en janvier 1996 est le fruit de <a href="Marc_Ewing" title="Marc Ewing">Marc Ewing</a> (<a href="Red_Hat" title="Red Hat">Red Hat Software</a>) au travers du projet <a href="https://en.wikipedia.org/wiki/Linux_PAM" class="extiw external" title="en:Linux PAM"><i>Linux-PAM</i></a><sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>.
</p><p>Depuis lors, PAM a été portée sur de multiples architectures dont <a href="Solaris_(informatique)" class="mw-redirect" title="Solaris (informatique)">Solaris</a>, <a href="Linux" title="Linux">Linux</a><sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>, <a href="FreeBSD" title="FreeBSD">FreeBSD</a><sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>, <a href="NetBSD" title="NetBSD">NetBSD</a>, <a href="DragonFly_BSD" title="DragonFly BSD">DragonFly BSD</a><sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>, <a href="AIX" title="AIX">AIX</a><sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> et <a href="HP-UX" title="HP-UX">HP-UX</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Modules_PAM">Modules PAM</h2></div>
<p>Les modules PAM sont une collection extensible de <a href="Biblioth%C3%A8que_logicielle" title="Bibliothèque logicielle">bibliothèques dynamiques</a> (<abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a href="https://en.wikipedia.org/wiki/Shared_library" class="extiw external" title="en:Shared library">shared objects</a>) (par ex. <b>pam_unix.so</b>) fournissant les six primitives d'authentification définies dans la norme, regroupées dans quatre <i>mécanismes</i> :
</p>
<ul><li>Le mécanisme <i><b>account</b></i> fournit une seule primitive : il vérifie si le compte demandé est disponible (si le compte n'est pas arrivé à expiration, si l'utilisateur est autorisé à se connecter à cette heure de la journée, etc.).</li>
<li>Le mécanisme <i><b>auth</b></i> fournit deux primitives ; il assure l'authentification réelle, éventuellement en demandant et en vérifiant un mot de passe, et il définit des « certificats d'identité » tels que l'appartenance à un groupe ou des « tickets » <a href="Kerberos_(protocole)" title="Kerberos (protocole)">kerberos</a>.</li>
<li>Le mécanisme <i><b>password</b></i> fournit une seule primitive : il permet de mettre à jour le <a href="Jeton_d'authentification" title="Jeton d'authentification">jeton d'authentification</a> (en général un mot de passe), soit parce qu'il a expiré, soit parce que l'utilisateur souhaite le modifier.</li>
<li>Le mécanisme <i><b>session</b></i> fournit deux primitives : mise en place et fermeture de la session. Il est activé une fois qu'un utilisateur a été autorisé afin de lui permettre d'utiliser son compte. Il lui fournit certaines ressources et certains services, par exemple en montant son <a href="R%C3%A9pertoire_personnel" title="Répertoire personnel">répertoire personnel</a>, en rendant sa boîte aux lettres disponible, en lançant un agent ssh, etc.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Extensions">Extensions</h2></div>
<ul><li>pam_mount est une extension de PAM permettant de monter un <a href="Syst%C3%A8me_de_fichiers" title="Système de fichiers">système de fichiers</a> quand un utilisateur se connecte. On pourra par exemple lancer le montage d’un répertoire <a href="CIFS" class="mw-redirect" title="CIFS">CIFS</a> en utilisant le mot de passe que l’utilisateur vient de rentrer. De plus, la partition sera démontée quand l’utilisateur va se déconnecter. En le combinant avec le module <a href="Pam_ldap" title="Pam ldap">pam_ldap</a>, il permet d’utiliser le couple <a href="Samba_(informatique)" title="Samba (informatique)">SaMBa</a>/OpenLDAP pour l’authentification et la gestion des répertoires utilisateur sous <a href="Linux" title="Linux">Linux</a>. Mais les fonctions de pam_mount ne s’arrêtent pas là : il permet aussi de monter à la connexion des partitions de nombreux types comme des partitions chiffrées comme loop-<a href="Standard_de_chiffrement_avanc%C3%A9" class="mw-redirect" title="Standard de chiffrement avancé">AES</a>.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Critiques_de_PAM">Critiques de PAM</h2></div>
<p>Malgré des travaux<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>, PAM n'est toujours pas standardisée en 2023. Ainsi, le comportement peut varier entre les diverses implémentations.
</p>
<div class="mw-heading mw-heading2"><h2 id="Références"><span id="R.C3.A9f.C3.A9rences"></span>Références</h2></div>
<div class="references-small decimal" style=""><div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a> </span><span class="reference-text"><a rel="nofollow" class="external text" href="https://cyber.gouv.fr/sites/default/files/2018/04/anssi-guide-admin_securisee_si_v3-0.pdf">RECOMMANDATIONS RELATIVES À L'ADMINISTRATION SÉCURISÉE DES SYSTÈMES D'INFORMATION, version 3.0</a></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="https://www.yumpu.com/en/document/read/27633707/making-login-services-independent-of-authentication-technologies">"Making Login Services Independent of Authentication Technologies", , Charlie Lai & Vipin Samar, 3rd ACM Conference on Computer and Communications Security, Mars 1996. </a></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="https://opensource.apple.com/source/pam/pam-31/pam/doc/specs/rfc86.0.txt.auto.html">OSF-RFC 86.0 “Unified Login with Pluggable Authentication Modules (PAM)”, Vipin Samar & Roland J. Schemers III, Octobre 1995.</a></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><a href="#cite_ref-4">↑</a> </span><span class="reference-text"><a rel="nofollow" class="external text" href="https://www.yumpu.com/en/document/read/27633707/making-login-services-independent-of-authentication-technologies">"Making Login Services Independent of Authentication Technologies", Charlie Lai & Vipin Samar, 3rd ACM Conference on Computer and Communications Security, Mars 1996. </a></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="https://www.linuxjournal.com/article/2120">Pluggable Authentication Modules, Linux Security, Andrew G. Morgan, 1er Decembre 1997</a></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><a href="#cite_ref-6">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="http://www.kernel.org/pub/linux/libs/pam/%20Linux%20PAM">Linux-Pam, manuel Linux</a></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><a href="#cite_ref-7">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="https://docs.freebsd.org/en/articles/pam/">OpenPAM, manuel DragonFly BSD</a></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><a href="#cite_ref-8">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="https://www.dragonflybsd.org/cgi/web-man?command=pam&section=ANY">OpenPAM, manuel DragonFly BSD</a></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><a href="#cite_ref-9">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="https://www.ibm.com/docs/en/aix/latest?topic=system-pluggable-authentication-modules">manuel AIX</a></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><a href="#cite_ref-10">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="https://pubs.opengroup.org/onlinepubs/8329799/toc.htm">X/Open Single Sign-on Preliminary Specification, The Open Group</a>, <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">1-85912-144-6</span>)</small>, juin 1997.</span>
</li>
</ol></div>
</div>
<div class="mw-heading mw-heading2"><h2 id="Voir_aussi">Voir aussi</h2></div>
<p>Quelques implémentations :
</p>
<ul><li><a href="https://en.wikipedia.org/wiki/Linux_PAM" class="extiw external" title="en:Linux PAM">Linux-PAM</a></li>
<li><a href="https://en.wikipedia.org/wiki/OpenPAM" class="extiw external" title="en:OpenPAM">OpenPAM</a></li></ul>
<p><br>
</p>
<ul><li>Cet article est partiellement ou en totalité issu de l'article intitulé « <span class=""><a class="external text" href="https://fr.wikipedia.org/w/index.php?title=Pam_mount&oldid=82027755">pam_mount</a> » <small>(voir <span class=""><a class="external text" href="https://fr.wikipedia.org/w/index.php?title=Pam_mount&oldid=82027755&action=history">la liste des auteurs</a></span>)</small></span>.</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Liens_externes">Liens externes</h3></div>
<ul><li><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="http://www.kernel.org/pub/linux/libs/pam/">Linux PAM</a></li>
<li><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="http://www.sun.com/software/solaris/pam/">Sun PAM</a></li></ul>
<ul id="bandeau-portail" class="bandeau-portail"><li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail de la sécurité des systèmes d'information</span> </span></li> </ul></div><!--htdig_noindex--><div><div class="zim-footer">
Cet article est issu de <a class="external text" title="Dernière modification le 2024-01-05" href="https://fr.wikipedia.org/wiki/?title=Pluggable_Authentication_Modules&oldid=211220719">Wikipédia</a>. Sauf mention contraire, le texte est disponible sous <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr">Creative Commons Attribution-Share Alike 4.0</a>. Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>